package com.hn658.user.itf;

import java.util.Map;

import com.hn658.user.itf.vo.QueryUserInfoDTO;
import com.hn658.user.itf.vo.UserInfoResponse;

/**
 * 
 * <p>
 * 描述：用户层开放的服务接口，提供了一些远程调用的接口方法，通过调用这类方法来完成相关功能
 * </p>
 * 
 * @ClassName UserService
 * @author nimin
 * @date 2014-8-5 下午5:47:39
 */
public interface ItfUserService {
	
	/**
	 * <p>
	 * 描述：通过ID，得到用户信息
	 * </p>
	 * 
	 * @param id
	 * @return UserInfoResponse
	 * @throws
	 * @since 1.0
	 * @author ztjie
	 */
	public UserInfoResponse findUserById(Long id);
	
	/**
	 * <p>
	 * 描述：通过loginAccount，得到用户信息
	 * </p>
	 * 
	 * @param loginAccount
	 * @return UserInfoResponse
	 * @throws
	 * @since 1.0
	 * @author ztjie
	 */
	public UserInfoResponse findUserByLoginAccount(String loginAccount);

	/**
	 * 
	 * <p>查询所有启用的公司用户信息</p> 
	 * @author ztjie
	 * @date 2015-11-12 下午9:26:16
	 * @return
	 * @see
	 */
	public UserInfoResponse queryEnableUser();

	/**
	 * 验证用户是否登入
	 * @param cookie
	 * @return
	 */
	public UserInfoResponse validateCookie(String appKey, String cookie);

	/**
	 * <p>查询分配到此应用的所有用户</p>
	 * @param queryMap
	 * @param appid 
	 * @param limit
	 * @param start
	 * @param sortBy
	 * @param isAsc
	 * @return
	 */
	public UserInfoResponse queryAppUser(Map<String,Object> queryMap, String appid, int limit,
			int start, String sortBy, boolean isAsc);
}
